extern char *gamename;
extern char *gameopt;
extern Stack *gathered;

void exec(int gather, int arif, int over, int cut);
void printState(FILE *f, Stack *stks);
int fdone(int k);
int victory(void);
void summary(void);
void gatherAll(void);
int rateMove(Stack *src, int index1, int len, Stack *dst);
int rateRedeal(void);
char *currstate(void);
int quality(void);
void setopt(char c);
void pickup_redeal(Stack *stks);

Stack *mixcards(int arif, int over, int cut);
